Reconstructing a Semantics for Action Rules by a Transformation to Almost Plain Prolog

نویسندگان

  • Bart Demoen
  • Phuong-Lan Nguyen
چکیده

Action Rules are currently only implemented by B-Prolog. One reason is that it is difficult to extract their exact semantics from the manual or the implementation. This issue is attacked by describing a transformation from Action Rules to almost plain Prolog. The transformation captures most of the B-Prolog semantics, and shows clearly how it could be extended. It also allows for an easy to understand source level description of many optimizations. Reconstructing a Semantics for Action Rules by a Transformation to Almost Plain Prolog Bart Demoen∗ and Phuong-Lan Nguyen† ∗ Department of Computer Science, K.U.Leuven, Belgium [email protected] † Institut de Mathématiques Appliquées, UCO, Angers, France [email protected] Abstract. Action Rules are currently only implemented by B-Prolog. One reason is that it is difficult to extract their exact semantics from the manual or the implementation. This issue is attacked by describing a transformation from Action Rules to almost plain Prolog. The transformation captures most of the B-Prolog semantics, and shows clearly how it could be extended. It also allows for an easy to understand source level description of many optimizations. Action Rules are currently only implemented by B-Prolog. One reason is that it is difficult to extract their exact semantics from the manual or the implementation. This issue is attacked by describing a transformation from Action Rules to almost plain Prolog. The transformation captures most of the B-Prolog semantics, and shows clearly how it could be extended. It also allows for an easy to understand source level description of many optimizations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Proving termination of CHR in Prolog: A transformational approach

In this paper we present a termination preserving transformation from Constraint Handling Rules to Prolog. The transformation is sound w.r.t. termination under the theoretical semantics of Constraint Handling Rules. It does not consider the presence of a propagation history. The transformation allows for the direct reuse of termination proof methods from Logic Programs and Term-Rewrite Systems,...

متن کامل

Translating Constraint Handling Rules into Action Rules

CHR is a popular high-level language for implementing constraint solvers and other general purpose applications. It has a wellestablished operational semantics and quite a number of different implementations, prominently in Prolog. However, there is still much room for exploring the compilation of CHR to Prolog. Nearly all implementations rely on attributed variables. In this paper, we explore ...

متن کامل

Flexible Search Strategies in Prolog CHR

We extend the refined operational semantics of the Constraint Handling Rules language to support the implementation of different search strategies. Such search strategies are necessary to build efficient Constraint Logic Programming systems. This semantics is then further refined so that it is more suitable as a basis for a trailing based implementation. We propose a source to source transforma...

متن کامل

Transformations of logic programs with goals as arguments

We consider a simple extension of logic programming where variables may range over goals and goals may be arguments of predicates. In this language we can write logic programs which use goals as data. We give practical evidence that, by exploiting this capability when transforming programs, we can improve program efficiency. We propose a set of program transformation rules which extend the fami...

متن کامل

Suspension Frames on the WAM Heap

A suspension encapsulates everything needed to execute a piece of code many times in the same context: the need for this feature exists in constraint solver programming, where (part of) a predicate checking the satisfiability of a set of a constraints needs to be re-executed every time the domain of a concerned variable changes. Traditional extensions of the WAM support a heap term and metacall...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006